iT邦幫忙

2022 iThome 鐵人賽

DAY 25
0
自我挑戰組

Asp.Net Core 零基礎建立自己的Blog系列 第 25

[Day 25] 編輯文章內容功能

  • 分享至 

  • xImage
  •  

今天來做點輕鬆的,算是點複習~

目標:
1.最好編輯功能

步驟:
1.前端的code

@using Application.Services.ArticleService.Models
@model UpdateArticleViewModel

<form method="post">
    <div class="form-group">

        <input asp-for="Id" class="form-control" hidden/>

        標題:
        <input asp-for="Title" class="form-control"/>

        是否停用:
        <input asp-for="IsDelete" type="checkbox" class="form-check-input"/>

        <textarea asp-for="ArticleContent" class="form-control" id="editor" style="width:700px;margin-right:auto;margin-left:auto;">@Model.ArticleContent</textarea>

    </div>
    <button asp-controller="Article" asp-action="UpdateArticle" type="submit">Send</button>
</form>

@section Scripts {
<script src="~/ckeditor6/build/ckeditor.js"></script>
<script>
    // ckEdit 5
        ClassicEditor
        .create( document.querySelector( '#editor' ) , {
            ckfinder: {
                removePlugins: [ 'ImageResize' ,'ImageStyle' ,'ImageToolbar' ],
                uploadUrl: '/Article/Uploads?command=QuickUpload&type=Files&responseType=json'
                }
            })
        .catch( error => {
            console.error( error );
        });
</script>
}

這邊需要注意的是,很多軟體系統公司,其實沒有所謂的刪除功能,不會真的把這一筆資料刪掉,刪除功能只是把這筆資料狀態改掉。我們的畫面也設這了這一個開關。

2.後端程式碼
Interface 請自行加上,這邊就不再多貼程式碼。
這邊只附上實作的程式碼。

public async Task UpdateArticle(UpdateArticleViewModel model)
        {
            GetInsertContentImages(model.ArticleContent);

            var a = await _db.Articles.Where(x => x.Id == model.Id).FirstOrDefaultAsync();

            if (a is not null)
            {
                a.Title = model.Title;
                a.ArticleContent = model.ArticleContent;
                a.IsDelete = model.IsDelete;

                _db.Articles.Update(a);
                await _db.SaveChangesAsync();
            }
        }

這樣子應該就可以編輯拉~
明天是另一個新的重點,就是登入系統。


上一篇
[Day 24] Action 回覆資料給特定的PartialView
下一篇
[Day 26] 登入系統(一)
系列文
Asp.Net Core 零基礎建立自己的Blog30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言